package com.online.robot.wechat.handler;

import com.online.robot.wechat.builder.TextBuilder;
import me.chanjar.weixin.common.session.WxSessionManager;
import me.chanjar.weixin.mp.api.WxMpService;
import me.chanjar.weixin.mp.bean.message.WxMpXmlMessage;
import me.chanjar.weixin.mp.bean.message.WxMpXmlOutMessage;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Component;

import java.util.Map;

@Component
public class MsgHandler extends AbstractHandler {

    private String errorMes = "未注册用户，请先输入手机号注册！";

    private String errorMesNo = "抱歉~请完成认证后才可以使用";

    private String sendCodeMes = "正在发送短信，请稍后~\n将收到的短信验证码（6位数字）发给公众号完成认证（5分钟内有效）";

    private String rZMes = "恭喜您认证成功！\n\n您可直接回复数字【1】领取饿了么外卖大红包！";

    private String noKnow = "抱歉~我没能理解您的意思呢，您可直接点击下方菜单栏【帮助】查看获得饿了么大红包的完成教程哦~";

    private String pointMes = "你的剩余积分不足20无法领取\n" +
            "【如何增加积分】\n" +
            "每次向微信公众号发送1个饿了么红包链接，可获得10积分（红包不能分享到其他地方，如自己或他人领取过，红包无效，不增加积分，并扣除20积分）";

    private String guideMes = "每次向微信公众号发送1个饿了么红包链接，可获得10积分（红包不能分享到其他地方，如自己或他人领取过，红包无效，不增加积分，并扣除20积分）\n" +
            "满20积分后，向公众号回复数字【1】就可领取最佳红包啦~\n" +
            "可发送【积分】进行剩余积分查询\n\n" +
            "<a href='https://mp.weixin.qq.com/s/kOjfAIyBWeqV_W8Oc8l23w'>点击查看完整教程</a>";

    public String createBindContent(String mobile) {
        return "恭喜您绑定成功！" +
                "现在就送您10积分作为见面礼吧~满20积分即可领取一次饿了么最佳手气大红包！\n\n" +
                "输入关键词【积分】，可查看积分剩余情况\n\n" +
                "<a href='https://mp.weixin.qq.com/s/kOjfAIyBWeqV_W8Oc8l23w'>点击查看完整教程</a>";
    }

    public String createVipBindContent(String mobile) {
        return "恭喜您已成功绑定手机号码：\n" + mobile + "\n" +
                "请向公众号发送【认证】二字，将收到的短信验证码发送给公众号完成认证\n" +
                "回复【1】既可自动领取大红包\n" +
                "输入关键词【积分】，可查看积分剩余情况\n\n" +
                "<a href='https://mp.weixin.qq.com/s/kOjfAIyBWeqV_W8Oc8l23w'>点击查看完整教程</a>";
    }

    public String createShareContent(String img) {
        StringBuffer sb = new StringBuffer("<a href='");
        sb.append("http://pay.tcqfw.com/open/hb?themeurl=")
                .append("https://mmbiz.qpic.cn/mmbiz_png/wEJ2vnByYxYibTpUUFpSKJtQo8kjFqXQ25g60Ie3bLJbRNz4XTe67icKeh01hECcD3xo2x8gZbEZKsCCib7dibbCJw/0?wx_fmt=png")
                .append("&qrcodeurl=").append(img)
                .append("&x=245&y=875&w=240&h=240").append("'>点击查看你的专属二维码海报</a>").append("\n\n")
                .append("通过你的专属二维码关注本公众号\n")
                .append("首次上传一个未使用的红包，朋友与你均可获得10积分\n")
                .append("首次使用抢红包功能，你将会获得20积分");
        return sb.toString();
    }

    private String createPoint(String mobile, int point) {
        return "剩余积分：" + point + "\n" +
                "绑定账号：" + mobile + "\n\n" +
                "如何增加积分：每发送1个未点开的饿了么红包，可获得10积分，每发送一个已被点开过的红包，扣20积分，请大家慎重！\n\n" +
                "如何发送未点开红包：\n" +
                "1、将订餐后的饿了么红包发给自己\n" +
                "2、长按发出去的红包并收藏\n" +
                "3、将收藏的饿了么红包发送到饿了么红包助手公众号即可\n\n" +
                "在此过程中千万不要点开红包！千万不要点开红包！！千万不要点开红包！！！";
    }

    private String createOnSuccess(String mobile, String amount, int point) {
        return "恭喜您成功领取最大红包\n" +
                "领取手机号：" + mobile + "\n" +
                "红包金额：" + amount + "\n" +
                "剩余积分：" + point + "\n" +
                "红包查看：饿了么-我-优惠-红包&店铺红包";
    }

    private String createOnSuccess(String url, int point) {
        return "<a href='" + url + "'>点击领取饿了么最佳手气大红包</a>\n\n" +
                "本次消耗20积分\n" +
                "剩余积分：" + point + "\n" +
                "如何增加积分：每发送1个未点开的饿了么红包可获得10积分";
    }

    @Override
    public WxMpXmlOutMessage handle(WxMpXmlMessage wxMessage, Map<String, Object> context, WxMpService weixinService,
                                    WxSessionManager sessionManager) {
        String appId = weixinService.getWxMpConfigStorage().getAppId();
        if (StringUtils.isNotBlank(wxMessage.getContent())) {


        }
        return new TextBuilder().build(noKnow, wxMessage);
    }

}
